以下是三元運算子好讀又精簡的例子:
time_str += (hour >= 12) ? "pm" : "am";
少了三元運算子得寫成:
if (hour >= 12){
time_str += "pm";
} else {
time_str += "am";
}
但以下三元運算子會變得難以閱讀:
return exponent >= 0 ? mantissa * ( 1 << exponent) : mantissa / (1 << -exponent) ;
重要概念
縮短其他人理解程式所需要的時間,比較減少程式碼行數還要好。
以if/else敘述是比較自然的作法:
if (exponent >= 0) {
return mantissa * ( 1 << exponent);
} else {
return mantissa * (1 << -exponent);
}
建議
儘量使用 if/else,只在最簡單的情況下使用三元運算子
do/while 迴圈奇怪在於區塊中程式碼是根據底下的條件決定是否重複執行,一般來說邏輯判斷都在區塊上方---if、while與for都是如此。因為程式碼是由讀到下,這讓do/while不太自然,許多人都得讀2次程式碼。